package conson.tech.manage.api.activity.feign;

import conson.tech.core.constant.SecurityConstants;
import conson.tech.core.response.Response;
import conson.tech.manage.api.activity.dto.TicketInfoDTO;
import conson.tech.manage.api.activity.dto.TicketInfoRecordDTO;
import conson.tech.manage.api.activity.form.ActivationTicketForm;
import conson.tech.manage.api.activity.form.ReceiveTicketForm;
import conson.tech.manage.api.activity.form.TicketQueryForm;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;
import java.util.Map;

/**
 * InterfaceName: TicketInfoFeignService
 * Description:
 * Author: HXL
 * Date: 2020/5/22 2:25 下午
 * Version: 1.0
 */
@FeignClient(name = "manageOperation", url = "${feignclient.manage-operation.domain:}")
@RequestMapping(SecurityConstants.INNERAPI)
public interface TicketInfoFeignService {
    @PostMapping("/queryTicket")
    Response<List<TicketInfoDTO>> queryTicketInfo(@RequestBody TicketQueryForm form);
    @PostMapping("/queryTicketById")
    Response<TicketInfoDTO > queryTicketInfoById(@RequestBody TicketQueryForm form);
    @PostMapping("/receiveTicket")
    Response receiveTicketInfo(@RequestBody ReceiveTicketForm form);
    @PostMapping("/activationTicket")
    Response<Integer> activationTicketInfo(@RequestBody ActivationTicketForm form);
    @PostMapping("/queryTicketRecord")
    Response<List<TicketInfoRecordDTO> > queryTicketInfoRecord(@RequestBody TicketQueryForm form);
    @PostMapping("/queryTicketRecordById")
     Response<TicketInfoRecordDTO > queryTicketInfoRecordById(@RequestBody Map<String,Long> map);
}
